Communication and computing devices, such routers, switches, and personal computers, for example, implement various functions, such as packet buffering, reassembly, and scheduling, where data packets are received from a port, and depending upon header information contained in the data packets, are transferred to some other port. In order to do this job, the data packets are stored in queues. Consequently, the data packets associated with these queues are stored in a memory buffer and then at a later time are recalled. To properly schedule the various queues for subsequent transmission, the lengths of the data packets in a queue are generally desired. The data packet lengths could be stored on-chip with the scheduling processor chip, where the data packets are stored in an off-chip memory and accessed with pointers. These pointers can be configured to point to the data packets as well as their associated packet lengths, so that the processor can determine which lengths belong to which data packets. However, storing packet length information on-chip may consume a large amount of die area. In addition, storing the pointers on-chip also may consume a large amount of die area. Consequently, other techniques for accessing packet length information and pointers are desirable.